//package com.ruoyi.web.pcj.service;
//
//import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
//import com.baomidou.mybatisplus.core.toolkit.Wrappers;
//import com.mashuai.utils.toolkit.core.msMp.MsDb;
//import com.ruoyi.common.core.domain.entity.SysUser;
//import com.ruoyi.framework.web.dto.SysGetTokenDto;
//import com.ruoyi.framework.web.service.SysLoginService;
//import lombok.AllArgsConstructor;
//import org.apache.commons.collections4.MapUtils;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.Date;
//import java.util.Map;
//
//
///***
// * 系统的工具类，在这写，作为转发，提供给外部模块调用，避免循环依赖
// */
//@AllArgsConstructor
//@Service
//public class PcjSysAppService {
//
//
//    @Autowired
//    private SysLoginService loginService;
//
//
//    /**
//     * 获取登录的token
//     *
//     * @param params {wxOpenId:"唯一标识，作为账号使用","nickName":用户昵称,avatar:"头像地址",curLoginLnt:"",curLoginLat}
//     * @return
//     */
//
//    @Transactional(rollbackFor = Exception.class)
//    public String getWxToken(Map<String, Object> params) {
//        //设置默认密码
//        params.put("defPassWord", YmlConstant.defPassword);
//        SysGetTokenDto dto = loginService.getWxToken(params);
//        String token = dto.getToken();
//        SysUser sysUser = dto.getSysUser();
//        //初始化用户一些基本信息
//        initUserData(params, sysUser);
//        return token;
//    }
//
//    /**
//     * 初始化用户一些基本信息{wxOpenId:"唯一标识，作为账号使用","nickName":用户昵称,avatar:"头像地址",curLoginLnt:"",curLoginLat}
//     *
//     * @param params
//     * @param sysUser
//     */
//    private void initUserData(Map<String, Object> params, SysUser sysUser) {
//        //1.初始化pcj_user_attr表的基本数据
//        initUserAttrData(params, sysUser);
//    }
//
//    /**
//     * 初始化pcj_user_attr表的基本数据
//     **/
//    private void initUserAttrData(Map<String, Object> params, SysUser sysUser) {
//        LambdaQueryWrapper<PcjUserAttr> qw = Wrappers.lambdaQuery();
//        qw.eq(PcjUserAttr::getSysUserId, sysUser.getUserId());
//        PcjUserAttr attr = MsDb.getOne(qw, PcjUserAttr.class);
//        //初次登录，插入用户基本属性值
//        if (attr == null) {
//            Long userId = sysUser.getUserId();
//            attr = new PcjUserAttr();
//            attr.setCreateId(userId);
//            attr.setCreateBy(sysUser.getNickName());
//            attr.setCreateTime(new Date());
//            attr.setSysUserId(userId);
//            //匹配次数置为默认值10
//            attr.setMateCount(YmlConstant.defMatchCount);
//            //vip等级默认普通会员
//            attr.setVipLevel("0");
//            //默认匹配时候不跳过目标、兴趣、特长选择
//            attr.setSkipPp("0");
//            //默认开匹配
//            attr.setClosePp("0");
//            //是否初次登录
//            attr.setFirstLogin("0");
//            attr.setCreateTime(new Date());
//            attr.setCreateId(userId);
//            attr.setCreateBy(sysUser.getNickName());
//        }
//        //如果用用户已经注册过了
//        else {
//            attr.setFirstLogin("1");
//            attr.setUpdateTime(new Date());
//            attr.setUpdateId(sysUser.getUserId());
//            attr.setUpdateBy(sysUser.getNickName());
//        }
//        attr.setLoginTime(new Date());
//        attr.setCurLoginLat(MapUtils.getDouble(params, "curLoginLat"));
//        attr.setCurLoginLnt(MapUtils.getDouble(params, "curLoginLnt"));
//        MsDb.saveOrUpdate(attr);
//    }
//}
